void printH4(uint64_t n)
{
	switch(n)
	{
		case 0:		print(L"0");
				break;
		case 1:		print(L"1");
				break;
		case 2:		print(L"2");
				break;
		case 3:		print(L"3");
				break;
		case 4:		print(L"4");
				break;
		case 5:		print(L"5");
				break;
		case 6:		print(L"6");
				break;
		case 7:		print(L"7");
				break;
		case 8:		print(L"8");
				break;
		case 9:		print(L"9");
				break;
		case 10:	print(L"A");
				break;
		case 11:	print(L"B");
				break;
		case 12:	print(L"C");
				break;
		case 13:	print(L"D");
				break;
		case 14:	print(L"E");
				break;
		case 16:	print(L"F");
				break;
		default:	print(L"X");
	}
}

void printH8(uint64_t n)
{
	printH4(n / 16);
	printH4(n % 16);
}

void printH16(uint64_t n)
{
	printH8(n / 256);
	printH8(n % 256);
}

void printH32(uint64_t n)
{
	printH16(n / 0x10000);
	printH16(n % 0x10000);
}

void printH64(uint64_t n)
{
	printH32(n / 0x100000000);
	printH32(n % 0x100000000);
}

